package com.xxlie.auth.service;


import com.xxlie.core.model.Page;
import com.xxlie.auth.domain.Dict;

import java.util.List;

/**
 *
 *
 * @author xxlie.com
 * @since 2017/7/30
 */
public interface DictService {

    /**
     * 根据Id查询字典数据
     *
     * @param id 数据字典主键
     * @return 字典数据
     */
    Dict findOne(Long id);

    /**
     * 分页查询数据字典数据
     *
     * @param page 分页
     * @param dict 查询对象
     * @return 分页对象
     */
    Page<Dict> find(Page<Dict> page, Dict dict);

    /**
     * 根据条件查询出集合字典
     * @param dict 字典查询对象
     * @return 字典集合
     */
    List<Dict> find(Dict dict);

    /**
     * 根据字典类型查询字典集合
     * @param type 字典类型
     * @return 字典集合
     */
    List<Dict> findListByType(String type);

    /**
     * 查询数据字典类型集合
     *
     * @return 类型集合
     */
    List<String> findTypeList();

    /**
     * 保存数据字典数据
     *
     * @param dict 数据字典数据
     */
    void save(Dict dict);

    /**
     * 根据主键删除数据字典对象
     *
     * @param id 数据字典主键
     */
    void delete(Long id);

}
